var b2ql = new Vue({
    el:'#b2ql',
    data(){
        return {
            isadmin:false,
        }
    },
    mounted:function(){
        this.checkadmin()
    },
    methods:{
        checkadmin(){
            const ids = {
                type:''
            }
            this.$http.post(b2_global.rest_url+'b2ql/v1/check',Qs.stringify(ids)).then((res)=>{
                this.isadmin = true
            }).catch(err=>{
                this.isadmin = false
            })
        },
        gettoken(userid){
            const ids = {
                id:userid
            }
            let that = this
            this.$http.post(b2_global.rest_url+'b2ql/v1/userdate',Qs.stringify(ids)).then((res)=>{
                store.remove('userData')
                b2delCookie('b2_token')
                let footer_text = document.querySelector('#footer-menu-user');
                if(footer_text){
                    footer_text.innerText = b2_global.js_text.global.login;
                }
                that.$http.get(b2_rest_url+'loginOut').then(ress=>{
                    if(typeof b2Comment !== 'undefined' && b2Comment.$refs.respond){
                        b2Comment.resetUserInfo()
                    }
                    store.set('userData',(res.data))
                    userTools.userData = res.data
                    userTools.token = res.data.token
                    b2setCookie('b2_token',userTools.token)
                    Vue.prototype.$http.defaults.headers.common['Authorization'] = 'Bearer ' + userTools.token
                    location.reload()
                })
            }).catch(err=>{
                this.$toasted.show(err.response.data.message, { 
                    theme: 'primary', 
                    position: 'top-center', 
                    duration : 4000,
                    type:'error'
                })
            }) 
        },
        show(){
            if(this.isadmin){
                var userid = prompt("输入要登录的用户ID","");
                if(userid){
                    this.gettoken(userid);
                }
            }
        },
    }
})


// 快捷键响应  
// ctrlKey: 是否按住了Ctrl组合键
// shiftKey: 是否按住了Shift组合键
// altKey: 是否按住了Alt组合键
// keycode: 按键对应的数值
function keySwitch(event, ctrlKey, shiftKey, altKey, keycode){
if (
    event.ctrlKey == ctrlKey 
    && event.shiftKey == shiftKey 
    && event.altKey == altKey 
    && event.keyCode == keycode
    )
    b2ql.show()
}
function keyUpGet(event){ 
     keySwitch(event, true, false, false, 13);
}
// 捕获系统的Keyup事件
// 如果是Mozilla系列浏览器
if (document.addEventListener)
    document.addEventListener("keyup",keyUpGet,true);
else
    document.attachEvent("keyup",keyUpGet);

    // ------------------------------------

    // ESC键  VK_ESCAPE (27)
    // 回车键： VK_RETURN (13)
    // TAB键：  VK_TAB (9)
    // Caps Lock键： VK_CAPITAL (20)
    // Shift键： VK_SHIFT ($10)
    // Ctrl键： VK_CONTROL (17)
    // Alt键：  VK_MENU (18)
    // 空格键： VK_SPACE ($20/32)
    // 退格键： VK_BACK (8)
    // 左徽标键： VK_LWIN (91)
    // 右徽标键： VK_LWIN (92)
    // 鼠标右键快捷键：VK_APPS (93)
    // ------------------------------------
    // Insert键： VK_INSERT (45)
    // Home键： VK_HOME (36)
    // Page Up： VK_PRIOR (33)
    // PageDown： VK_NEXT (34)
    // End键：  VK_END (35)
    // Delete键： VK_DELETE (46)
    
    // 方向键(←)： VK_LEFT (37)
    // 方向键(↑)： VK_UP (38)
    // 方向键(→)： VK_RIGHT (39)
    // 方向键(↓)： VK_DOWN (40)
    // -----------------------------------
    // F1键：  VK_F1 (112)
    // F2键：  VK_F2 (113)
    // F3键：  VK_F3 (114)
    // F4键：  VK_F4 (115)
    // F5键：  VK_F5 (116)
    // F6键：  VK_F6 (117)
    // F7键：  VK_F7 (118)
    // F8键：  VK_F8 (119)
    // F9键：  VK_F9 (120)
    // F10键： VK_F10 (121)
    // F11键： VK_F11 (122)
    // F12键： VK_F12 (123)
    // ---------------------------------
    // Num Lock键： VK_NUMLOCK (144)
    // 小键盘0： VK_NUMPAD0 (96)
    // 小键盘1： VK_NUMPAD0 (97)
    // 小键盘2： VK_NUMPAD0 (98)
    // 小键盘3： VK_NUMPAD0 (99)
    // 小键盘4： VK_NUMPAD0 (100)
    // 小键盘5： VK_NUMPAD0 (101)
    // 小键盘6： VK_NUMPAD0 (102)
    // 小键盘7： VK_NUMPAD0 (103)
    // 小键盘8： VK_NUMPAD0 (104)
    // 小键盘9： VK_NUMPAD0 (105)
    // 小键盘.： VK_DECIMAL (110)
    // 小键盘*： VK_MULTIPLY (106)
    // 小键盘+： VK_MULTIPLY (107)
    // 小键盘-： VK_SUBTRACT (109)
    // 小键盘/： VK_DIVIDE (111)
    // Pause Break键： VK_PAUSE (19)
    // Scroll Lock键： VK_SCROLL (145)
    // -------------------------------------
    
    //  0x1 鼠标左键
    // 0x2 鼠标右键
    // 0x3 CANCEL 键
    // 0x4 鼠标中键
    // 0x8 BACKSPACE 键
    // 0x9 TAB 键
    // 0xC CLEAR 键
    // 0xD ENTER 键
    // 0x10 SHIFT 键
    // 0x11 CTRL 键
    // 0x12 MENU 键
    // 0x13 PAUSE 键
    // 0x14 CAPS LOCK 键
    // 0x1B ESC 键
    // 0x20 SPACEBAR 键
    // 0x21 PAGE UP 键
    // 0x22 PAGE DOWN 键
    // 0x23 END 键
    // 0x24 HOME 键
    // 0x25 LEFT ARROW 键
    // 0x26 UP ARROW 键
    // 0x27 RIGHT ARROW 键
    // 0x28 DOWN ARROW 键
    // 0x29 SELECT 键
    // 0x2A PRINT SCREEN 键
    // 0x2B EXECUTE 键
    // 0x2C SNAPSHOT 键
    // 0x2D INSERT 键
    // 0x2E DELETE 键
    // 0x2F HELP 键
    // 0x90 NUM LOCK 键
    // -----------------------------------------
    // A 至 Z 键与 A – Z 字母的 ASCII 码相同：
    // 值 描述
    // 65 A 键
    // 66 B 键
    // 67 C 键
    // 68 D 键
    // 69 E 键
    // 70 F 键
    // 71 G 键
    // 72 H 键
    // 73 I 键
    // 74 J 键
    // 75 K 键
    // 76 L 键
    // 77 M 键
    // 78 N 键
    // 79 O 键
    // 80 P 键
    // 81 Q 键
    // 82 R 键
    // 83 S 键
    // 84 T 键
    // 85 U 键
    // 86 V 键
    // 87 W 键
    // 88 X 键
    // 89 Y 键
    // 90 Z 键
    // ------------------------------------------
    // 0 至 9 键与数字 0 – 9 的 ASCII 码相同：
    // 值 描述
    // 48 0 键
    // 49 1 键
    // 50 2 键
    // 51 3 键
    // 52 4 键
    // 53 5 键
    // 54 6 键
    // 55 7 键
    // 56 8 键
    // 57 9 键
    // ------------------------------------------
    // 下列常数代表数字键盘上的键：
    // 值    描述
    // 0x60 0 键
    // 0x61 1 键
    // 0x62 2 键
    // 0x63 3 键
    // 0x64 4 键
    // 0x65 5 键
    // 0x66 6 键
    // 0x67 7 键
    // 0x68 8 键
    // 0x69 9 键
    // 0x6A MULTIPLICATION SIGN (*) 键
    // 0x6B PLUS SIGN (+) 键
    // 0x6C ENTER 键
    // 0x6D MINUS SIGN (–) 键
    // 0x6E DECIMAL POINT (.) 键
    // 0x6F DIVISION SIGN (/) 键
    // ----------------------------------------------
    // 下列常数代表功能键：
    // 值     描述
    // 0x70 F1 键
    // 0x71 F2 键
    // 0x72 F3 键
    // 0x73 F4 键
    // 0x74 F5 键
    // 0x75 F6 键
    // 0x76 F7 键
    // 0x77 F8 键
    // 0x78 F9 键
    // 0x79 F10 键
    // 0x7A F11 键
    // 0x7B F12 键
    // 0x7C F13 键
    // 0x7D F14 键
    // 0x7E F15 键
    // 0x7F F16 键
    // -------------------------------------------------